package com.emapp.lccode.utils;

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class TimeUtils {

    public static String getShortCurrentTime() {

        String formattedDate="";
        // 获取当前日期
        Date date = new Date();

        // 创建日期格式器
        SimpleDateFormat dateFormatter = new SimpleDateFormat("yyyy-MM-dd");

        // 将当前日期格式化为 yyyy-MM-dd 格式
         formattedDate = dateFormatter.format(date);

        // 输出结果
        return  formattedDate;
    }

    public static String getFirstDayOfMonth(String dateString)  {

        try { // 将日期字符串解析为日期对象
            SimpleDateFormat dateFormatter = new SimpleDateFormat("yyyy-MM-dd");

            // 将日期字符串解析为日期对象
            Date date = dateFormatter.parse(dateString);

            // 获取日期对应的Calendar对象
            Calendar calendar = Calendar.getInstance();
            calendar.setTime(date);

            // 实现日期回滚到上一个月
//            calendar.add(Calendar.MONTH, -1);

            // 设置日期为该月的第一天
            calendar.set(Calendar.DAY_OF_MONTH, 1);

            // 格式化日期
            String firstDayOfPreviousMonth = dateFormatter.format(calendar.getTime());

            return firstDayOfPreviousMonth;

        }catch (Exception e){
            return "";
        }

    }
    public static String getLastDayOfNextMonth(String dateString)  {
        try {
            SimpleDateFormat dateFormatter = new SimpleDateFormat("yyyy-MM-dd");

            // 将日期字符串解析为日期对象
            Date date = dateFormatter.parse(dateString);

            // 获取日期对应的Calendar对象
            Calendar calendar = Calendar.getInstance();
            calendar.setTime(date);

            // 将日期推进到下一个月
//            calendar.add(Calendar.MONTH, 1);

            // 设置日期为该月的最后一天
            calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));

            // 格式化日期
            String lastDayOfNextMonth = dateFormatter.format(calendar.getTime());

            return lastDayOfNextMonth;
        }catch (Exception e){e.printStackTrace();
        return "";
        }
    }

    public static String tranFomat(String oldDateString){
        try {
            SimpleDateFormat oldFormat = new SimpleDateFormat("yyyy-MM-dd");
            Date date = oldFormat.parse(oldDateString);

            // 创建新的日期格式
            SimpleDateFormat newFormat = new SimpleDateFormat("yyyy-M-d");

            // 格式化日期
            String newDateString = newFormat.format(date);

            return newDateString;
        }catch (Exception e){
            e.printStackTrace();
            return "";
        }
    }
}
